Business logic

Business logic, or domain logic, is a non-technical term generally used to describe the functional algorithms that handle information exchange between a database and a user interface.

Contents

Scope of business logic

Business logic:

Business logic comprises:[1]

Business logic

In single-tier applications, business logic, presentation logic, and CRUD are often used, with each having intimate knowledge of, or being strongly coupled to, the others. This is seen as problematic, since changes to one result in changes to both of the others, requiring retesting and revalidation of the entire system for a single change. The interweaving also limits the extent to which the CRUD and the business logic can be reused.[2]

In a multilayered architecture (compared to multitier architecture) business logic is a separate module. In the common 3-tier architecture, the business logic in theory occupies the middle tier, the business-services tier or business layer. In practice, the business logic is often interwoven in the other two tiers (the user services tier and the database services tier), such as by encoding business logic in stored procedures and in decisions about input validation and display formatting. However there is not a well-defined rule: [3] Chad Hower and others advocate storing all business logic in a business layer, and not encoding any business logic in the application's user services or database services tiers, while [4] T. Koppelaars and others are for placing the business logic layer in the database using stored procedures.

Tools for handling business logic

Business logic can be extracted from procedural code using a business rule management system.[5]

References

Further reading

See also